<!DOCTYPE html>
<html><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>硬盘接口标准</title>
<style type="text/css">
    body{
        background-color: #3C3F41;
    }
    a{
        text-decoration: none;
        color: #fbfbff;
    }
</style>
<body><head>
    <style type="text/css">
        nav ul {
            list-style-type: none;
            margin: 0;
            padding: 0;
            overflow: hidden;
            background-color: #333;
            position: -webkit-sticky;  
            position: sticky;
            top: 0;
        }

        nav li {
            float: left;
        }

        nav li a {
            display: block;
            color: white;
            text-align: center;
            padding: 14px 16px;
            text-decoration: none;
        }

         
        nav li a:hover {
            background-color: #111;
        }
        .active {
            background-color: #4CAF50;
        }
    </style>
</head>

<nav>
    <ul>
        
        
        <li><a href="/blog/">home</a></li>
         
        
        <li><a href="/blog/post">博文</a></li>
         
        
        <li><a href="/blog/about">about</a></li>
         
    </ul>
</nav>
<div id="content" style="margin: auto;width: 50%;padding: 10px; color: #ffffff;height: 100%">
    <article>
        <header>
            <h1 class="post-title">硬盘接口标准</h1>
        </header>
        <p>##按顺序
<strong>1、ST-506接口</strong></p>
<p>最早的IBM PC并不带有硬盘，它的BIOS及DOS1.0操作系统也不支持任何硬盘，后来DOS2引入了子目录系统，并添加了对“大容量”存储设备的支持，于是一些公司开始出售供IBMPC使用的硬盘系统，这些硬盘与一块控制卡、一个独立的电源(IBM PC的电源只有63.5W，无法向硬盘供电)被一起装在一个外置的盒子里，并通过一条电缆与插在扩展槽中的一块适配器相连，为了使用这样的硬盘，必须从软驱启动，并加载一个专用设备驱动程序。
1983年，IBM推出了IBMPC的后继产品PC/XT，虽然XT仍然使用8088CPU，但配置却要高得多，加上了一个10MB(随后的XTS机型为20MB)的内置硬盘，IBM把原本放在盒子里的控制卡的功能集成到一块接口控制卡上，构成了我们常说的硬盘控制器。但是XT的BIOS中仍然不带有硬盘读写例程，为此接口控制卡上有一块ROM芯片，其中存有硬盘读写例程，这种现象一直持续到基于80286处理器的PC/AT的推出，硬盘接口控制例程终于被加入到了主板的BIOS中。PC/XT和PC/AT机器使用的硬盘被称为MFM硬盘或ST-506/412硬盘。MFM (ModifiedFrequencyModulation)是指一种编码方案，而ST-506/412则是希捷开发的一种硬盘接口，首先使用这种接口的硬盘为希捷的ST-506及ST-412。ST-506接口使用起来相当简便，它不需要任何特殊的电缆及接头，但是它支持的传输速度很低，因此到了1987年左右这种接口就基本上被淘汰了，采用该接口的老硬盘容量多数都低于200MB。</p>
<p><strong>2、ESDI接口</strong></p>
<p>鉴于ST-506接口的低速度，迈拓于1983年开发了ESDI(EnhancedSmallDriveInterface)接口。这种接口把编解码放在了硬盘本身之中，而不是控制卡上，它的理论传输速度是ST-506的2～4倍，一般可达10Mbps。
ESDI接口并没有得到广泛应用，原因之一是它的成本比较高，经过了几个版本之后，它与后出现的低成本高性能的IDE接口相比已没有优势可言，因此在进入九十年代后就逐步被淘汰掉了。Windows9x操作系统中有一个设备驱动程序叫ESDI_506.pdr，显然这个文件的名字来源于古老的ESDI和ST-506接口，但ESDI_506.pdr却是一个IDE接口的驱动程序！</p>
<p><strong>3、IDE与EIDE接口</strong></p>
<p>IDE(Integrated Drive Electronics)的本意实际上是指把控制器与盘体集成在一起的硬盘驱动器，我们常说的IDE接口，也叫ATA(Advanced Technology Attachment)接口，现在PC机使用的硬盘大多数都是IDE兼容的，只需用一根电缆将它们与主板或接口卡连起来就可以了。
把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度，数据传输的可靠性得到了增强，硬盘制造起来变得更容易，因为厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容，对用户而言，硬盘安装起来也更为方便。
ATA接口最初是在1986年由CDC、康柏和西部数据共同开发的，他们决定使用40芯的电缆，最早的IDE硬盘大小为5英寸，容量为40MB，康柏早期的386系统使用了由西部数据制造的IDE硬盘，后来康柏创办了Conner来为自己生产硬盘，但很快又把Conner出售了。ATA接口的一大特点是成本低廉，非常符合PC机的发展特点，因此很快得到大家的认同，从80年代末期开始逐渐取代了其它老式接口，ANSI也专门制定了ATA-1标准，1990年后生产的PC机已经普遍采用ATA接口了。
就在ATA-2成为标准之时，西部数据与希捷掀起了一场接口名称之争。西部数据提出了EIDE(EnhancedIDE)的概念，EIDE实际上包含了ATA-2和ATAPI(ATAPacketInterface)两种标准，后者是为了让CDROM、磁带机等其它设备使用ATA接口而制订的标准，因为ATA-1和ATA-2标准都只考虑了硬盘。希捷为了对付WD的市场策略，也提出了一个Fast-ATA的概念，并得到了昆腾的支持。Fast-ATA实际上就是ATA-2，相对而言，Fast-ATA比EIDE在概念上要更为清晰一些，但是由于CD-ROM驱动器的迅速发展，ATAPI标准得到了普遍应用，Fast-ATA和EIDE两种称呼都经常出现在各种场合，反而产生了很多混淆。ATA接口的最新标准是ATA-3，与ATA-2相比，ATA-3没有增加更高速率的工作模式，但改进了数据传输的可靠性，加入了一个简单的密码保护的安全方案，对电源管理方案进行了修改，并引入了S.M.A.R.T.技术，让硬盘在出错时能够向系统报告。</p>
<p><strong>DMA(ATA) 100/133</strong></p>
<p>DMA 100/133并不是新的接口规范，它们只是对EIDE接口的增强。传统的IDE数据传输仅仅利用了单边带的数据脉冲。DMA 100/133则在数据传输时使用了双边带的数据脉冲。因此，使用该技术的硬盘并配合相应的芯片组，最大传输速度可以提高到133MS/s，向下兼容采用 80芯的线40针的接口，支持 CRC 错误检测修正技术。它们最大的优点在于把CPU从大量的数据传输中解放出来了，可以把数据从HDD直接传输到主存而不占用更多的CPU资源，从而在一定程度上提高了整个系统的性能。DMA 100/133已成为目前E-IDE硬盘接口事实上的标准。当然ATA 100/133的数据传输率只是一个理论值，实际使用中是无法达到最大值的，而现在硬盘的最大内部传输率也就在50M/s左右，无法充分发挥ATA 100/133接口的能力。</p>
<p><strong>4、SATA接口</strong></p>
<p>目前大多数台式机硬盘采用的都是Ultra ATA 100/133并行总线接口，理论最高速率在133MB/s，随着硬盘内部传输速率的不断提升，很快会成为硬盘性能的瓶颈。而Serial ATA 1.0规范将硬盘的外部传输速率提高到了150MB/s以上，而且随着后续版本的发展，其接口速率还可比较轻松的扩展到600MB/s以上，是未来高性能硬盘的必然选择。并行ATA接口硬盘所使用的80-pin数据线在机箱内部也显得特别粗大、凌乱，它会阻碍空气的流动，进而影响到系统的散热，限制高速CPU等配件的性能发挥。而且并行ATA设计采用12V和5V电压供电，在当今电脑配件不断降低电压、减小功耗的趋势下，这也是需要改进的。而Serial ATA采用±250mV供电，能够有效地减小系统的功耗。串行ATA采用了点对点传输协议，每一个硬盘与主机通信时都独占一个通道，系统中所有的硬盘都是对等的，因此，在串行ATA中将不存在“主/从”盘的区别，用户也不用再费事去设置硬盘的相关跳线了。点对点传输模式还使每一个硬盘都可以独享通道带宽，这对于提高性能是有好处的。</p>
<p><strong>5、SCSI接口</strong></p>
<p>SCSI(SmallComputerSystemInterface)是一种与ATA完全不同的接口，它不是专门为硬盘设计的，而是一种总线型的系统接口，每个SCSI总线上可以连接包括SCSI控制卡在内的8个SCSI设备。早期PC机的BIOS不支持SCSI，各个厂商都按照自己对SCSI的理解来制造产品，造成了一个厂商生产的SCSI设备很难与其它厂商生产的SCSI控制卡共同工作，加上SCSI的生产成本比较高，因此没有像ATA接口那样迅速得到普及。SCSI接口的优势在于它支持多种设备，传输速率比ATA接口高，独立的总线使得SCSI设备的CPU占用率很低，所以SCSI更多地被用于服务器等高端应用场合。
ANSI分别于1986年和1994年制订了SCSI-1和SCSI-2标准，一些厂商在这些标准的基础上开发了FastSCSI、UltraSCSI、Ultra2SCSI(LVD)和Ultra160/m等事实上的标准。希捷、IBM等厂商都有自己的SCSI硬盘系列产品，由于目标市场不同，这些SCSI硬盘的转速、缓存大小等指标要比同时期的IDE硬盘高得多。
EIDE硬盘的接口技术在不断进步时，SCSI硬盘的接口技术也在迅速发展。目前开始普遍采用Ultra2SCSI(LVD)传输模式。LVD代表低电压差分技术，16位Ultra2SCSI(LVD)接口的最高传输速率可达80MB/s，除了速度上的提升外，Ultra2SCSI(LVD)允许接口电缆的最大长度为12米，比起UltraSCSI的1.5米限制有了极大的进步，大大增强了设备配置的灵活性。Ultra160/mSCSI也被引入硬盘界，对硬盘在高计算量应用领域的性能扩展极有裨益，处理关键任务的服务器、图形工作站、冗余磁盘阵列(RAID)等设备将因此得到性能提升。而目前的硬盘厂商为使产品适应不同领域的需求，将Ultra160/mSCSI技术与光纤界面技术集成在一块硬盘上，使硬盘的应用领域更加广阔，不但可以支持服务器、图形工作站、冗余磁盘阵列应用，还可以支持SAN等新型应用。</p>
<p><strong>6、NVMe接口</strong></p>
<p>NVM Express是标准和信息的开放收集，以充分展示非易失性存储器在从移动设备到数据中心的所有类型的计算环境中的优势。NVMe从头开始设计，可为当前和将来的NVM技术提供高带宽和低延迟的存储访问。NVM Express标准包括：
NVM Express –用于PCI Express附加存储的寄存器接口和命令集，以及适用于多种操作系统的行业标准软件。NVMe被广泛认为是PCIeSSD的事实上的行业标准。NVMe管理界面–用于NVM Express存储的带外管理的命令集和体系结构（例如，使用BMC发现，监视和更新NVMe设备）。架构上的NVMe – NVM Express的扩展，可通过PCIe以外的其他传输方式对NVM Express命令集进行隧道传输。NVMe over Fabric通过允许同一协议扩展到各种网络接口上，扩展了在全球最大的数据中心中大规模高效存储架构的优势。</p>

        <br />

        <div>
            

            
            <a href="https://alittlesmile.gitee.io/blog/post/java/%E4%BA%94%E5%A4%A7io%E6%A8%A1%E5%9E%8B/" style="float:right">五大IO模型 ></a>
            
        </div>
    </article>

</div></body>
</html>
